package com.web.kftsdk.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.NotBlank;

import java.util.Map;

/**
 * <p>Title: KppSmsPayReq</p>
 * <p>Description: TODO</p>
 *
 * @author xukk
 * @version 1.0
 * @date 2018/6/14
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class KppSmsPayReq extends BaseReq {
    /**
     * 参数名称:商户身份ID
     * 可否为空：否
     * 参数描述：签约快付通的唯一用户编号,最长20位纯数字组成的字符，须与相应短信快捷支付申请时一致
     */
    @NotBlank
    private String merchantId;

    /**
     * 参数名称:二级商户ID
     * 可否为空：是
     * 参数描述：一级商户下的二级子商户号，调用“二级商户入驻接口”生成。须与相应短信快捷支付申请时一致
     */
    private String secMerchantId;

    /**
     * 参数名称:订单编号
     * 可否为空：否
     * 参数描述：用于标识商户发起的一笔交易，须与相应短信快捷支付申请时一致
     */
    @NotBlank
    private String orderNo;

    /**
     * 参数名称:验证码
     * 可否为空：是
     * 参数描述：确认支付时必需
     */
    private String smsCode;

    /**
     * 参数名称:绑定手机号码
     * 可否为空：否
     * 参数描述：持卡人开户时绑定手机号，须与相应短信快捷支付申请时一致
     */
    @NotBlank
    private String custBindPhoneNo;

    /**
     * 参数名称:确认标识
     * 可否为空：否
     * 参数描述：1确认支付2取消支付
     */
    @NotBlank
    private String confirmFlag;

    @Override
    public Map toMap(String service)  {
        Map<String,String> map= super.toMap(service);
        map.put("merchantId",merchantId);
        map.put("secMerchantId",secMerchantId);
        map.put("orderNo",orderNo);
        map.put("smsCode",smsCode);
        map.put("custBindPhoneNo",custBindPhoneNo);
        map.put("confirmFlag",confirmFlag);
        return map;
    }
}
